package com.hmdp.config;

import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @Classname RedissonConfig
 * @Description redisson的配置，建议自己写不要混到redis的yaml配置中
 * @Date 2023/12/17 20:30
 * @Author zhuzhenguo
 */
@Configuration
public class RedissonConfig {

    @Bean
    public RedissonClient redissonClient() {
        // 配置类
        Config config = new Config();
        // 添加redis地址，这里添加了单节点的地址，也可以使用useClusterServers()添加集群地址
        config.useSingleServer().setAddress("redis://127.0.0.1:6379").setPassword("123456");
        // 创建RedissonClient对象
        return Redisson.create(config);
    }

    /*
    * 使用多个独立的redis组成联锁，只有在每个节点都获取到锁才行，这样就不怕节点宕机导致其他线程获取到锁
    * */
/*    @Bean
    public RedissonClient redissonClient2() {
        // 配置类
        Config config = new Config();
        // 添加redis地址，这里添加了单节点的地址，也可以使用useClusterServers()添加集群地址
        config.useSingleServer().setAddress("redis://127.0.0.1:6380").setPassword("123456");
        // 创建RedissonClient对象
        return Redisson.create(config);
    }

    @Bean
    public RedissonClient redissonClient3() {
        // 配置类
        Config config = new Config();
        // 添加redis地址，这里添加了单节点的地址，也可以使用useClusterServers()添加集群地址
        config.useSingleServer().setAddress("redis://127.0.0.1:6381").setPassword("123456");
        // 创建RedissonClient对象
        return Redisson.create(config);
    }*/

}
